{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用棋盘格图像，分别使用SIFT、FAST及ORB算子检测角点，并比较分析检测结果。 \n",
    "(可选)使用Harris角点检测算子检测棋盘格，并与上述结果比较。 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import cv2\n",
    "import numpy as np\n",
    "\n",
    "filename = 'chessboard.png'\n",
    "\n",
    "img = cv2.imread(filename)\n",
    "img = cv2.resize(img, (640, 480))\n",
    "\n",
    "gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n",
    "gray = np.float32(gray)\n",
    "\n",
    "# 输入图像必须是float32， 最后一个参数[0.04,0.06]\n",
    "dst = cv2.cornerHarris(gray, 2, 3, 0.04)\n",
    "cv2.imshow('dst', dst)\n",
    "dst = cv2.dilate(dst, None)\n",
    "\n",
    "img[dst > 0.01 * dst.max()] = [0, 0, 255]\n",
    "cv2.imshow('img', img)\n",
    "cv2.imshow('dst2', dst)\n",
    "\n",
    "cv2.waitKey(0)\n",
    "cv2.destroyAllWindows()\n"
   ]
  },
  {
   "attachments": {
    "qipan1.jpg": {
     "image/jpeg": "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+RPJsfInk2PkTybHyJ5Nj5E8mx8ieTY+RPJsfInk2PkTybHyJ5Nj5E8mx8ieTY+RPJsfInk2PkTybHyJ5Nj5E8mx8ieTY+RPJsfInk2PkTybHyJ5Nj5E8mx8h5t02PkUpnV8ilM6vkUpnV8ilM7PyKSzs/IpLOz8iks7PyKSzs/IpLOz8iks7PyKSzs/IpLOz8ilM7PyKUzq+RSmdXyKUzq+RSmdXyKUzq+RSmdXyKUzq+RSmdXyKUzq+RSmdXyKUzq+RSmdXyKSzs/IpLOz8iks7PyKSir5FJRV8ikoq+RSUVfIpKKvkUlFXyKSir5FJRV8ikIq+RSUVfIpKKvkUlFXyKQir5FJZ1fIpKKvkUhFXyKSir5FJRV8iks6vkUlFXyKSir5Bn9VCnapBpFWNNNY001jTTWNNNY001jTTWNNNY001jTTWNNNY001jTTWNNNY001jTTWNNNY001jTTWNNNY001jTTWNNNY001jTTWNNNY001jTTWNNNY001jSTX34tpWINJrQXCYeZs6jBmlMJTuovv3xa19ZINySDjWkj/uYnUWu9GYJo0aKQ/rJKRPNqyyE82rLITzasshPNqyyE82rLITzasshPNqyyE82rLITzasshPNqyyE82rLITzasshPNqyyE82rLITzasshPNqyyE82rLITrasshPNqyyE82rLITzasshOtqyyE82rLITzasshPNqyyE82rLITzasshPNqyyE82rLITzasshPNqyyE82rLITzasshPNqyyE82rLITzasshPNqyyE82rLITzasshPNqyyE82rLITzasshPNqyyE62rLITrasshPNqyyE82rLITzasshOtqyyE62rLITzassh1tGp7yyDiaNrRZCdbVlkJ1tWWQnW1ZZCdbVlkJ1tWWQnW1ZZCdbVlkJ5tWWQnm1ZZCebVlkJ5tWWQnm1ZZCebVlkJ5tWWQX/9m3UbpS+xf2E+2rLIT7asshPtpS1lkHn0hqReachTVW05B5dIamXmnIdbZtKesvv5CdbVlkO03al5qTkHf7hq/aTkJ1tWWQnW1ZZBC/8AcNChJI5CBeasQZw0b1BRPS93V2g1QnrUpBkQbKgdvswDfJ5fYNCZsi+iakH9MjIoX39h0mCy+mUIuz9urvLXb9iCYOv+wQZEUI3P6gz2R0Np9EiZqUak9rr0T1AlISzSv6iS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zwMAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFXzzzysAAABfzzzwAgAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANwAAABbzzzyoAAAAUgAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbwAAABTzzzygAAAAWgAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTwAAABTzzzygAAABGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwwwwx3DDDCUwwwwAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZTzzzygAAABTzzzxegAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVzzzzygAAABTzzzxWgAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHzzzzygAAABTzzzxOgAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHzDDDCUwwwxnDDDASAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAABTzzzygAAAAGgAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAABTzzzygAAAAWgAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXQAAABTzzzygAAABCAAAAAAAAAAAAACsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVTzzzzkAAABXzzzxUAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHzzzzygAAABTzzzwMAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXzzzzygAAABTzzzwMAAAAAAAAAAAAACsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVTzzzysAAABfzzzwQAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFQAAABbzzzyoAAABUgAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXwAAABTzzzygAAABWgAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAABTzzzygAAABGgAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQwwwx3DDDCUwwwwQAAAAAAAAAAAAACsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFTzzzygAAABTzzzxcAAAAAAAAAAAAACsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFzzzzygAAABTzzzxcAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHzzzzygAAABTzzzxMAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXzDDDCUwwwxnDDDBAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXQAAABTzzzygAAAAWgAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABF0AAABTzzzygAAAAEAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAABTzzzygAAABUAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFAYAHdOOvW030300VXUkFHDDDCAQkVioUkEEk00kUkkMM88c8scMMM8ccMkE0kEU0000kU0r/zzzzzzxzzzzzzzzzzzzzzzzzzzzxyDzzzzzzzzzzzzzzzzzzzzzzzzwAAAAAAAAAAAAABz//EACoRAAIBAgUEAQUAAwAAAAAAAAERADFRICEwUGEQQEGRcWCBsdHxocHw/9oACAEDAQE/ECArBmVHHHHHHHHHHHHHH0ZjwAQ+jmeASJFidSXpc05JyQX+q8s5ZyzlnL2Cszf0CRIxDZYy2vxOP8SgIMUYDAAKQE0g6FuZwU6AXHBk16Mso4BAZw8xJymVAQ2y5EhgFGgug6BZhHBmyHmEBwp5f9n+oSIcB6GDRHR9AegxOOAx55RENzRDsSGYSgGIoGuRlEiRIkXrXBODoJEiRIpiRYnWki9nRAAAAAkW8W8W8W8W8W8S8S8W8W8WLF6Ya51xtFMGudcbRTBhCM6tMn/PGEIzq0yf88YSkaBD21+DrjaKMQEIByOECEA5HCQINcbwp1xvCnXG3X1iILl6WF9YiC5elhKiULGXvP7Ie/ocdcbRSOwOuNopHYHXG0UjE4mSZ0q/nxhcTJM6Vfz4wlCZsI8Zv3l61xtFI78G0UjvwbRSOwFjLXG0UjFT5V/Z/vDT5V/Z/vCRjQkH0/2dcbRSOwOuNopHYHXG0UjEEZ1aZP8AnjCEZ1aZP+eMJGNAv8tfg642ikYgIQDkcIEIByOEgQHXG0UjsKdcbRSO/BtFIxPrEQXL0sL6xEFy9LCXEoWMvef2Q9642ikdgdcbRSOwOuNopHYHXG0UjE4mSZ0q/nxhcTJM6Vfz4wlCZsI8Zv3l61xtFI78G0UiPPvgbRSJ574G0UiHAygkBEvoZywuF+IAYjEYjFEYjFDEKcM4ZwzhnDOGcM4ZwzhnDOGcMFiBMiItototototototototolototototototototototototototototototololololololololololololkJS+f9H6H/AP/EACcRAAIBAwQDAAICAwAAAAAAAAABETFRYSAhQFAQMEFgoXHwgbHB/9oACAECAQE/EEm6D23I4MEEEaoIEzwS0FLzRjMJjMZjMZjMZjMZhMJh8OHw4TCYTCYdK1IkSLhkMnhJkGmhpX+38qIIh5h9IKJU8ISDT4NWCZSRtEf2EJxsQJeEEvhiMQnsTHhbDONydv8AC/1v+/BaEvCH640PTBBA0RtuNGOaIKLaZNkmie4BoZIkSJEyRIkS8UiRIkSRImSJ+KeihI4FVVUFE7ErErErErErErE7E7ErErE7E7E7cHLt6nwF731FT1MEz3elgme70pE47et6oT0wnpq7et8Cr8HVd7QRJTP60oIkpn9aUyo/Fp9RU+efUVPnn1FT1I6NtvulHRtt90pN4e99RU+BX731FT4FfvfUVPgV+99RU9SA3zSgN80pG5976ip88+oqfPPqKnqYJnu9LBM93pSJx731FT1QnphPTX731FT4FfvfUVPgV+99RU9SCJKZ/WlBElM/rSmVHvfUVPnn1FT559RU+efUVPUjo22+6UdG233Sk3h731FT4FfvfUVPgV+99RUz576/e+oq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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![qipan1.jpg](attachment:qipan1.jpg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "module 'cv2.cv2' has no attribute 'orb_create'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-4-ef10c34723aa>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m     10\u001b[0m \u001b[0mgray\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfloat32\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mgray\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     11\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 12\u001b[1;33m \u001b[0morbs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcv2\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0morb_create\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     13\u001b[0m \u001b[0mkeypoints\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0morb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdetect\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mgray\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mnone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     14\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mAttributeError\u001b[0m: module 'cv2.cv2' has no attribute 'orb_create'"
     ]
    }
   ],
   "source": [
    "import cv2\n",
    "import numpy as np\n",
    "\n",
    "filename = 'chessboard.png'\n",
    "\n",
    "img = cv2.imread(filename)\n",
    "img = cv2.resize(img, (640, 480))\n",
    "\n",
    "gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n",
    "gray = np.float32(gray)\n",
    "\n",
    "orbs=cv2.orb_create()\n",
    "keypoints=orb.detect(gray,none)\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
